//引入模块
let fs = require('fs');
//读取歌词文件
fs.readFile('./song.txt', function(err, data) {
     if (err) {
          return console.log('歌词文件读取失败');
     }
     data = data.toString();
     let lines = data.split('\n');
     //遍历所有行，通过正则表达式匹配对应时间点（时间点的格式为[00:00.00]），并输出对应的歌词
     let reg = /\[(\d{2})\:(\d{2})\.(\d{2})\]\s*(.+)/;
     for (let i = 0; i < lines.length; i++) {
          (function(index) {
               let line = lines[index];
               let matches = reg.exec(line);
               if (matches) {
                     //获取分
                     let m = parseFloat(matches[1]);
                     //获取秒
                     let s = parseFloat(matches[2]);
                     //获取毫秒
                     let ms = parseFloat(matches[3]);
                     //获取定时器中要输出的内容
                     let content = matches[4];
                     //将分+秒+毫秒转换为毫秒
                     let time = m * 60 * 1000 + s * 1000 + ms;
                     //使用定时器，让每行内容在指定的时间输出
                     setTimeout(function() {
                          console.log(content);
                     }, time);
               }
        })(i);
     }
});